#include "comm.hpp"


int main()
{
    // int shmid=CreateShm();
    // log(Debug,"create shm done");

    // sleep(5);
    // char* shmaddr=(char*)shmat(shmid,nullptr,0);//------为什么把这个虚拟地址当成char*?
    // log(Debug,"attach shm done,attach address:0x%x",shmaddr);//-------%x打印是啥?
    // sleep(5);


    // shmdt(shmaddr);
    // log(Debug,"detach shm done");
    // sleep(5);

    // shmctl(shmid,IPC_RMID,nullptr);
    // log(Debug,"rm shm done");
    // sleep(5);
    // log(Debug,"processa quit...");


    int shmid=CreateShm();
    char* shmaddr=(char*)shmat(shmid,nullptr,0);//------为什么把这个虚拟地址当成char*?
    //ipc code --processa

    //一旦有人把数据写入到共享内存,其实我们就能直接看到了!!
    //不需要经过系统调用,直接就能看到数据了.
    while(true)
    {
        cout<<"client say@ "<<shmaddr<<endl;
        sleep(1);
    }
    shmdt(shmaddr);
    shmctl(shmid,IPC_RMID,nullptr);


    return 0;
}